+ (сложение)

Доступность

Flash Player 4, Flash Player 5. Во Flash 5, (+) является или числовым оператором, или объединителем строк, в зависимости от типа данных параметра. Во Flash 4, + - это только числовой оператор. Файлы Flash 4, перенесенные в Flash 5 преобразуются, чтобы обеспечить целостность данных. С приведённом примере показано преобразование файлов из Flash 4, которые содержат числовое сложение :

Файл Flash 4 :

 x + y

Преобразованный Flash 5/или выше/ файл:

Number(x) + Number(y)

Синтаксис

expression1 + expression2

Параметры

expression1,expression2 Число или строка

Возвращает

Строку, целое число или число с плавающей точкой.

Описание

Оператор, складывает числовые выражения или конкатенирует /связывает/ строки. Если одно выражение является строкой, все другие выражения конвертируются в строки и конкатенируются.

Если оба выражения являются целыми числами, то сумма - целое число. Если одно или оба выражения являются числами с плавающей точкой, то сумма - число с плавающей точкой.

Для дополнительной информации, смотрите "Старшинство и ассоциативность операторов" в Использовании ActionScript во Флэш .

Пример

Использование 1: В этом примере связываются две строки и результат отображается в Output панели.

var name:String = "Cola";
var instrument:String = "Drums";
trace(name+" plays "+instrument);  // выводится: Cola plays Drums

Использование 2: Здесь оператор складывает два целых числа 2 и 3 и выводит результат 5 (также целое число) в окно Output :

trace(2+3);  // выводится: 5

В другом случае, оператор складывает числа с плавающей точкой 2.5 и 3.25; результат 5.75 отображается в окне Output. Результат будет число с плавающей точкой :

trace(2.5+3.25);  // выводится: 5.75

Использование 3: Переменные, ассоциированные с динамическими полями и полями ввода, имеют тип String. В следующем примере, переменная deposit.text является ассоциированной с полем ввода на сцене. После того, как пользователь вводит количество депозита, код пытается добавить deposit.text к oldBalance. Так как deposit.text имеет тип String, код связывает строки /oldBalance преобразуется в строку/, вместо того чтобы вывести их сумму.

var oldBalance:Number = 1345.23;
var currentBalance = deposit.text + oldBalance;
trace(currentBalance);

Для примера, если пользователь вводит 475 в поле deposit.text , функция trace() выводит значение 4751345.23 в Output панели.

Для корректной работы, необходимо использовать Number() - функцию, конвертирующую строку в число, как в этом примере :

var oldBalance:Number = 1345.23;
var currentBalance:Number = Number(deposit_txt.text) + oldBalance;
trace(currentBalance);

Следующий пример показывает, как вычисление суммы чисел, стоящих справа от строки, не происходит :

var a:String = 3 + 10 + "asdf";
trace(a); // 13asdf
var b:String = "asdf" + 3 + 10;
trace(b); // asdf310